Compiler Transformation of Pointers to Explicit Array Accesses in DSP Applications
نویسندگان
چکیده
Efficient implementation of DSP applications are critical for embedded systems. However, current applications written in C, make extensive use of pointer arithmetic making compiler analysis and optimisation difficult. This paper presents a method for conversion of a restricted class of pointer-based memory accesses typically found in DSP codes into array accesses with explicit index functions. C programs with pointer accesses to array elements, data independent pointer arithmetic and structured loops can be converted into semantically equivalent representations with explicit array accesses. This technique has been applied to several DSPstone benchmarks on three different processors where initial results show that this technique can give on average a 11.95 % reduction in execution time after transforming pointer-based array accesses into explicit array accesses.
منابع مشابه
Automatic Array Access Recovery in Pointer based DSP Codes
Efficient implementation of DSP applications are critical for embedded systems. However, current applications written in C, make extensive use of pointer arithmetic making compiler analysis and optimisation difficult. This paper presents a method for conversion of a restricted class of pointer-based memory accesses typically found in DSP codes into array accesses with explicit index functions. ...
متن کاملAn Efficient Algorithm for Pointer-to-Array Access Conversion for Compiling and Optimizing DSP Applications
The complexity of Digital Signal Processing (DSP) applications has been steadily increasing due to advances in hardware design for embedded processors. To meet critical power consumption and timing constraints, many DSP applications are hand-coded in assembly. Because the cost of hand-coding is becoming prohibitive for developing an embedded system, there is a trend toward the use of highlevel ...
متن کاملTowards Automatic Parallelisation for Multi-Processor DSPs
This paper describes a preliminary compiler based approach to achieving high performance DSP applications by automatically mapping C programs to multi-processor DSP systems. DSP programs typically contain pointer based memory accesses making automatic parallelisation difficult. This paper presents a new method to convert a restricted class of pointer-based memory accesses into array accesses wi...
متن کاملAnalysis of Irregular Single-Indexed Array Accesses and Its Applications in Compiler Optimizations
Many compiler techniques require analysis of array subscripts to determine whether a transformation is legal. Traditional methods require the array subscript expressions to be expressed as closedform expressions of loop indices. Most methods further require the subscript expressions to be linear. However, in sparse/ irregular programs, closed-form expressions of array subscripts are not availab...
متن کاملARRAY COMPOSITION AND DECOMPOSITION FOR OPTIMIZING EMBEDDED APPLICATIONSy
Optimizing array accesses is extremely critical in embedded computing as many embedded applications make use of arrays (in form of images, video frames, etc). Previous research considered both loop and data transformations for improving array accesses. However, data transformations considered were mostly limited to linear data transformations and array interleaving. In this paper, we introduce ...
متن کامل